package com.dayuanit.spring.demo.config;

import com.dayuanit.spring.demo.domain.Cat;
import com.dayuanit.spring.demo.domain.Fish;
import com.dayuanit.spring.demo.domain.Zoo;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 带有Configuration标签的类，可以等同于一个xml文件，都是在描述如何创建一个对象，只是表达的方式不同而已；
 * java config方式创建的对象，不需要依赖于xml文件的支持，可以做到零配置文件。
 * 需要使用AnnotationConfigApplicationContext去解析。
 */
@Configuration
public class TestSpringConfig {

    @Bean
    public Cat cat() {
        Cat cat = new Cat();
        //jdbc mysql  coror price
        cat.setColor("red");
        cat.setPrice(900);
        return cat;
    }

    @Bean
    public Fish fish() {
        Fish fish = new Fish();
        fish.setColor("yellow");
        fish.setPrice(800);
        return fish;
    }

    @Bean
    public Zoo zoo(Cat cat, Fish fish) {
        Zoo zoo = new Zoo();
        zoo.setName("南京动物园");
        zoo.setCat(cat);
        zoo.setFish(fish);
        return zoo;
    }
}
